
package ciicos.check.service;

import ciicos.check.entity.CheckTaskEntity;
import ciicos.check.entity.CheckTaskItemEntity;
import ciicos.check.model.checktask.CheckTaskForm;
import ciicos.check.model.checktask.CheckTaskPagination;
import com.baomidou.mybatisplus.extension.service.IService;

import java.math.BigDecimal;
import java.util.Date;
import java.util.HashMap;
import java.util.List;

/**
 * 巡检任务
 * 版本： V3.2.0
 * 版权：
 * 作者： 产研项目租
 * 日期： 2023-07-26
 */
public interface CheckTaskService extends IService<CheckTaskEntity> {

    List<CheckTaskEntity> getList(CheckTaskPagination checkTaskPagination);

    List<CheckTaskEntity> getTypeList(CheckTaskPagination checkTaskPagination, String dataType);


    CheckTaskEntity getInfo(String id);

    void delete(CheckTaskEntity entity);

    void create(CheckTaskEntity entity);

    boolean update(String id, CheckTaskEntity entity);

    //  子表方法
    List<CheckTaskItemEntity> getCheckTaskItemList(String id, CheckTaskPagination checkTaskPagination);

    List<CheckTaskItemEntity> getCheckTaskItemList(String id);

    //列表子表数据方法

    //验证表单
    String checkForm(CheckTaskForm form, int i);

    void createTask();

    // 获取所有begintime~endtime的巡检，包括未开始的
    List<CheckTaskEntity> getAllCheckTaskBetweenDate(String orgcode, Date begintime, Date endtime);

    // 获取所有begintime~endtime的巡检，包括进行中、已完成的
    List<CheckTaskEntity> getCheckTaskBetweenDateWithStatus(String orgcode, Date begintime, Date endtime);


    List<CheckTaskEntity> getListByPlanCode(String code);


    List<CheckTaskItemEntity> syncRealDataPointValues(String id);


}
